#ifndef __LOCKABLE_HPP__
#define __LOCKABLE_HPP__

namespace vpm 
{
	namespace utils
	{
		class Lockable
		{
		protected:
			Lockable() {};

		public:
			virtual ~Lockable() {};
			virtual void lock() = 0;
			virtual void unlock() = 0;
			virtual void lock_read() { lock(); }
			virtual void lock_write() { lock() ; }
		};

	}
}


#endif // 
   
  
